#ifndef PULSE_HH
#define PULSE_HH

#include "NewParameters.h"

class Pulse
{

protected:
  double length;
  double level;
  double angle;
  double angle2;
  double delay;

  Pulse();
  
public:
  virtual ~Pulse();

  virtual void Field(NewParameters params)=0;
  virtual void Current(NewParameters params)=0;
  virtual double getLevel(double timestamp)=0;  //abstract method -> abstract class
  virtual void setLevel(double value);
  virtual double getLength();
  virtual void setLength(double value);
  virtual double getAngle();
  virtual double getAngle2();
  virtual void setAngle(double value);
  virtual void setAngle2(double value);
  virtual double getDelay();
  virtual void setDelay(double value);
  virtual void setSecondPulse(double value);
  virtual double getSecondPulse();
};

#endif
